home *** CD-ROM | disk | FTP | other *** search
/ PCGUIA 127 / PC Guia 127.iso / Software / Utils / GParted Live CD / Bin / gparted-livecd-0.2.2.iso / usr_sqfs / bin / guile-tools < prev    next >
Encoding:
Text File  |  2005-07-27  |  2.8 KB  |  115 lines

  1. #!/bin/sh
  2.  
  3. #     Copyright (C) 2001, 2004 Free Software Foundation, Inc.
  4. #
  5. # This program is free software; you can redistribute it and/or
  6. # modify it under the terms of the GNU General Public License as
  7. # published by the Free Software Foundation; either version 2, or
  8. # (at your option) any later version.
  9. #
  10. # This program is distributed in the hope that it will be useful,
  11. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  13. # General Public License for more details.
  14. #
  15. # You should have received a copy of the GNU General Public License
  16. # along with this software; see the file COPYING.  If not, write to
  17. # the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
  18. # Boston, MA 02111-1307 USA
  19.  
  20. # Usage: See `help' func below.
  21. #
  22. # TODO
  23. # - handle pre-install invocation
  24. # - "full" option processing (but see comment below)
  25. #
  26. # Author: Thien-Thi Nguyen
  27.  
  28. help ()
  29. {
  30.     cat <<EOF
  31. Usage: guile-tools --version
  32.        guile-tools --help
  33.        guile-tools [OPTION] PROGRAM [ARGS]
  34.  
  35. If PROGRAM is "list" or omitted, display contents of scripts dir, otherwise
  36. PROGRAM is run w/ ARGS.  Options (only one of which may be used at a time):
  37.  --scriptsdir DIR    -- Look in DIR for scripts
  38.  --guileversion VERS -- Look in $pkgdatadir/VERS/scripts for scripts
  39.  --source            -- Display PROGRAM source (ignore ARGS) to stdout
  40.  
  41. Default scripts dir: $default_scriptsdir
  42. EOF
  43. }
  44.  
  45. prefix="/usr"
  46. pkgdatadir="${prefix}/share/guile"
  47. guileversion="1.6"
  48. default_scriptsdir=$pkgdatadir/$guileversion/scripts
  49.  
  50. # pre-install invocation frob
  51. mydir=`dirname $0`
  52. if [ -d "$mydir/scripts" -a -f "$mydir/scripts/Makefile.am" ] ; then
  53.     default_scriptsdir=`(cd $mydir/scripts ; pwd)`
  54. fi
  55.  
  56. # option processing -- basically, you can override either the script dir
  57. # completely, or just the guile version.  we choose implementation simplicity
  58. # over orthogonality.
  59.  
  60. case x"$1" in
  61. x--version)
  62.     echo $0 $guileversion
  63.     exit 0
  64.     ;;
  65. x--help)
  66.     help
  67.     exit 0
  68.     ;;
  69. esac
  70.  
  71. if [ x"$1" = x--scriptsdir ] ; then
  72.     user_scriptsdir=$2
  73.     shift
  74.     shift
  75. elif [ x"$1" = x--guileversion ] ; then
  76.     user_scriptsdir=$pkgdatadir/$2/scripts
  77.     shift
  78.     shift
  79. fi
  80.  
  81. scriptsdir=${user_scriptsdir-$default_scriptsdir}
  82.  
  83. if [ ! -d $scriptsdir ] ; then
  84.     echo $0: no such directory: $scriptsdir
  85.     exit 1
  86. fi
  87.  
  88. if [ x"$1" = x -o x"$1" = xlist ] ; then
  89.     ls $scriptsdir
  90.     exit 0
  91. fi
  92.  
  93. if [ x"$1" = x--source ] ; then
  94.     if [ x"$2" = x ] ; then echo $0: need to specify program ; exit 1 ; fi
  95.     if [ -x $scriptsdir/$2 ] ; then
  96.         cat $scriptsdir/$2
  97.         exit 0
  98.     else
  99.         echo $0: no such program: $2
  100.         exit 1
  101.     fi
  102. fi
  103.  
  104. program=$scriptsdir/$1
  105. shift
  106.  
  107. if [ -x $program ] ; then
  108.     exec $program "$@"
  109. else
  110.     echo $0: no such program: $program
  111.     exit 1
  112. fi
  113.  
  114. # guile-tools ends here
  115.